﻿using System.Drawing;

namespace BusinessLayer.Objects
{
    /// <summary>
    /// Class with properties for using on BackGroundWorker.ProgressChanged event. Contains information for result window.
    /// </summary>
    public class BackgroundWorkerReport
    {
        /// <summary>
        /// Is true for first report on project to add or not additional empty line in result window.
        /// </summary>
        public bool IsStartProject { get; set; }
        /// <summary>
        /// Text to be written in result window.
        /// </summary>
        public string Text { get; set; }
        /// <summary>
        /// Indicates whether or not to add additianal empty line in result window.
        /// </summary>
        public bool AddSpace { get; set; }
        /// <summary>
        /// Indicates if text should be colored.
        /// </summary>
        public bool IsColored { get; set; }
        /// <summary>
        /// Color for colored text.
        /// </summary>
        public Color Color { get; set; }
        /// <summary>
        /// Indicates whether or not worker is sending final statictic.
        /// </summary>
        public bool IsTotal { get; set; }
        /// <summary>
        /// Number of successful deployments.
        /// </summary>
        public int Success { get; set; }
        /// <summary>
        /// Number of failed deployments.
        /// </summary>
        public int Failure { get; set; }
        /// <summary>
        /// Number of skipped deployments (if user aborted process).
        /// </summary>
        public int Skipped { get; set; }
        /// <summary>
        /// Indicates, that current deployment was aborted by user.
        /// </summary>
        public bool Aborted { get; set; }
    }
}
